# Snapshot - OEM Recovery Key

Zurück zur Sicherung

Drive Snapshot bietet die Möglichkeit, einen Generalschlüssel zu vereinbaren, sodass verschlüsselte Images auf jeden Fall mit einem Generalschlüssel entschlüsselt werden können, auch wenn der Mitarbeiter gerade in Urlaub ist.

Die Implementierung hat folgende Eigenschaften:

Die ausführbare Datei SNAPSHOT.EXE wird vom OEM modifiziert; dazu wird mit einer Public Key Methode (s.u.) das OEM spezifische Kennwort 'OEMSuperSecret' als öffentlicher Schlüssel in den EXE file geschrieben.

Alle mit diesem SNAPSHOT.EXE verschlüsselten Dateien sind danach sowohl mit dem Benutzerschlüssel, als auch dem OEM-Schlüssel lesbar.

Es ist aber in keiner Weise möglich, den OEM-Schlüssel oder den Benutzerschlüssel zu rekonstruieren.

Diese Funktionalität steht ausschließlich größeren Kunden auf gesonderte Nachfrage zur Verfügung.

Da Verschlüsselung nur sicher ist, nachdem einige Experten sich die Implementierung angesehen haben, und wir sowieso danach gefragt werden, hier sind die

### Details der Implementierung

Der Schlüssel, mit dem das Image verschlüsselt wird, ist immer eine Zufallszahl.
Damit das Image gelesen werden kann, wird dieser Archivschlüssel mit dem Benutzerschlüssel verschlüsselt und im Image gespeichert.
Bei Nutzung des Images wird dann dem einzugebenden Schlüssel der Archivschlüssel rekonstruiert.

Wenn ein OEM Key vorhanden ist, wird der Archivschlüssel ebenfalls mit dem OEM Key verschlüsselt gespeichert und kann rekonstruiert werden.

### Public Key Implementierung

Der OEM Key darf natürlich nicht aus der .EXE Datei rekonstruierbar sein.
Basierend auf dem Diffie-Hellman Algorithmus, erfolgt die Implementierung wie folgt:

Der OEM erzeugt aus 'OEMSuperSecret' eine Zahl X (von 160 Bit Länge).

Der OEM publiziert seinen Schlüssel in der Form von

OEM Public Key = (A ^ X) modulo P

mit festen und bekannten Konstanten A = 4711, P = 2^2203-1 ist eine große Primzahl.

Wenn der Image spezifische Schlüssel verschlüsselt werden soll, erzeugt Snapshot eine weitere Zufallszahl Y='SomethingRandom' und bildet

Archive Public Key = (A ^ Y) modulo P

und

CommonSecretKey = OEM Public Key = (A^X)^Y modulo P

mit CommonSecretKey wird dann der Archiv Schlüssel gespeichert; zusätzlich wird im Image auch der Archiv Public Key (A^Y) gespeichert.

Bei Rekonstruktion mit dem OEM Key wird dann

CommonSecretKey = ArchivePublicKey ^ X modulo P

gebildet, und sowohl beim Ver- als auch Entschlüsseln haben beide Partner den gleichen CommonSecretKey zur Verfügung.

Das Verfahrens beruht auf der Tatsache, dass A^X^Y = A^Y^X ist.

Die Sicherheit des Verfahrens beruht darauf, dass es schwer ist, aus der Kenntnis von A^X mod P schwierig ist, X zu errechnen, sofern P eine hinreichend große Primzahl ist (in unserer Implementierung 2^2203-1).

Literatur:
Security Issues in the Diffie-Hellman Key Agreement Protocol [Raymond, Stiglic]l
Discrete logarithms: The past and the future [Odlyzko 99]

Zurück zur Sicherung

Copyright © 2001-2016 Tom Ehlert Software